/**
 * %%
 * %%
 */
package com.leehom.arch.base.reportquery.utils;

import java.util.HashMap;
import java.util.Map;

import com.leehom.arch.base.reportquery.TypeEnum;
import com.leehom.arch.base.utils.StringUtils;

/**
 * @类名: ParamTypeCaster
 * @说明: 
 *
 * @author   leehom
 * @Date	 2020年12月20日 下午10:41:49
 * 修改记录：
 *
 * @see 	 
 */
public class ParamTypeCaster {

	public static Map<String, Object> cast(Map<String, String> inputParams, Map<String, TypeEnum> paramTypeMap) {
		Map<String, Object> params = new HashMap<String, Object>();
		for(Map.Entry<String, String> entry : inputParams.entrySet()) {
		    String key = entry.getKey();
		    String strValue = entry.getValue();
		    if(!paramTypeMap.containsKey(key))
		    	continue;
		    TypeEnum te = paramTypeMap.get(key);
		    if(StringUtils.isEmpty(strValue)){
                params.put(key, null);
            }else {
                Object value = te.cast(strValue);
                params.put(key, value);
            }
		}
		return params;
	}
	
}
